#include <wx/panel.h>
#include <wx/filepicker.h>
#include <wx/stattext.h>
#include <wx/sizer.h>
#include <wx/button.h>
#include "../core/fileDefine.h"
#include "../core/stb_image.h"
#include <fstream>
#include <filesystem>
#include <wx/msgdlg.h>
#include <list>
#include <utility>
#include <regex>
#include <wx/progdlg.h>
#include "../core/StrmBMP_writer.h"
#include "../core/grayBMPLoad.h"
#include <nlohmann/json.hpp>

class CompressFrame : public wxPanel
{
  public:
    CompressFrame(wxWindow* parent);
  private:
    wxDirPickerCtrl* dirpImage;
    wxFilePickerCtrl* filepTime;
    wxFilePickerCtrl* filepAdditionalTime;
    wxFilePickerCtrl* filepAdditional;
    wxFilePickerCtrl* filepOutput;
    wxFilePickerCtrl* fileMetaData;
    wxButton* btnCompress;

    void on_btnCompress_click(wxCommandEvent& event);
};

enum class CompressFrameID
{
  dirpImage=100,
  filepTime,
  filepAdditional,
  filepOutput,
  btnCompress,
  filepAdditionalTime,
  fileMetaData
};
